I. Field of the Invention
The present invention pertains generally to the field of wireless communications, and more specifically to providing an efficient method and apparatus for transmitting data frames in a voice-over-data communication system.
II. Background
The field of wireless communications has many applications including cordless telephones, paging, wireless local loops, and satellite communication systems. A particularly important application is cellular telephone systems for mobile subscribers. (As used herein, the term xe2x80x9ccellularxe2x80x9d systems encompasses both cellular and PCS frequencies.) Various over-the-air interfaces have been developed for such cellular telephone systems including frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA). In connection therewith, various domestic and international standards have been established including Advanced Mobile Phone Service (AMPS), Global System for Mobile (GSM), and Interim Standard 95 (IS-95). In particular, IS-95 and its derivatives, such as IS-95A, IS-95B (often referred to collectively as IS-95), ANSI J-STD-008, IS-99, IS-657, IS-707, and others, are promulgated by the Telecommunication Industry Association (TIA) and other well known standards bodies.
Cellular telephone systems configured in accordance with the use of the IS-95 standard employ CDMA signal processing techniques to provide highly efficient and robust cellular telephone service. An exemplary cellular telephone system configured substantially in accordance with the use of the IS-95 standard is described in U.S. Pat. No. 5,103,459 entitled xe2x80x9cSystem and Method for Generating Signal Waveforms in a CDMA Cellular Telephone System,xe2x80x9d which is assigned to the assignee of the present invention and incorporated herein by reference. The aforesaid patent illustrates transmit, or forward-link, signal processing in a CDMA base station. Exemplary receive, or reverse-link, signal processing in a CDMA base station is described in U.S. application Ser. No. 08/987,172, filed Dec. 9, 1997, entitled xe2x80x9cMultichannel Demodulator,xe2x80x9d which is assigned to the assignee of the present invention and incorporated herein by reference. In CDMA systems, over-the-air power control is a vital issue. An exemplary method of power control in a CDMA system is described in U.S. Pat. No. 5,056,109 entitled xe2x80x9cMethod and Apparatus for Controlling Transmission Power in A CDMA Cellular Mobile Telephone System,xe2x80x9d which is assigned to the assignee of the present invention and incorporated herein by reference.
A primary benefit of using a CDMA over-the-air interface is that communications are conducted simultaneously over the same RF band. For example, each mobile subscriber unit (typically a cellular telephone) in a given cellular telephone system can communicate with the same base station by transmitting a reverse-link signal over the same 1.25 MHz of RF spectrum. Similarly, each base station in such a system can communicate with mobile units by transmitting a forward-link signal over another 1.25 MHz of RF spectrum.
Transmitting signals over the same RF spectrum provides various benefits including an increase in the frequency reuse of a cellular telephone system and the ability to conduct soft handoff between two or more base stations. Increased frequency reuse allows a greater number of calls to be conducted over a given amount of spectrum. Soft handoff is a robust method of transitioning a mobile unit between the coverage area of two or more base stations that involves simultaneously interfacing with two or more base stations. (In contrast, hard handoff involves terminating the interface with a first base station before establishing the interface with a second base station.) An exemplary method of performing soft handoff is described in U.S. Pat. No. 5,267,261 entitled xe2x80x9cMobile Station Assisted Soft Handoff in a CDMA Cellular Communications System,xe2x80x9d which is assigned to the assignee of the present invention and incorporated herein by reference.
Under the IS-99 and IS-657 standards (referred to hereinafter collectively as IS-707), an IS-95-compliant communications system can provide both voice and data communications services. Data communications services allow digital data to be exchanged between a transmitter and one or more receivers over a wireless interface. Examples of the type of digital data typically transmitted using the IS-707 standard include computer files and electronic mail.
In accordance with both the IS-95 and IS-707 standards, the data exchanged between a transmitter and a receiver is processed in discreet packets, otherwise known as data packets or data frames, or simply frames. To increase the likelihood that a frame will be successfully transmitted during a data transmission, IS-707 employs a radio link protocol (RLP) to track the frames transmitted successfully and to perform frame retransmission when a frame is not transmitted successfully. Re-transmission is performed up to three times in IS-707, and it is the responsibility of higher layer protocols to take additional steps to ensure that frames are successfully received.
In order to track which frames have been received successfully, IS-707 uses an eight-bit sequence number to be included as a frame header in each frame transmitted. The sequence number is incremented for each frame from 0 to 256 and then reset back to zero. An unsuccessfully transmitted frame is detected when a frame with an out-of-order sequence number is received, or an error is detected using CRC checksum information or other error detection methods. Once an unsuccessfully received frame is detected, the receiver transmits a negative-acknowledgment message (NAK) to the transmit system that includes the sequence number of the frame that was not received. The transmit system then re-transmits the frame including the sequence number as originally transmitted. If the re-transmitted frame is not received successfully, a second retransmission request, consisting of two NAKs, is sent to the transmit system, this time requesting that the frame be transmitted twice. If the frame is still not received successfully, a third retransmission request, consisting of three NAKs, is sent to the transmit system, this time requesting that the frame be transmitted three times. If the frame is still not received successfully after the third retransmission request, no further retransmissions are requested, and the frame is ignored at the receiver for use in reconstructing the original data.
Recently, a need has arisen for transmitting voice information using the data protocols of IS-707. For example, in a secure communications system, voice information may be more easily manipulated and distributed among data networks using a data protocol. In such applications, it is desirable to maintain the use of existing data protocols so that no changes to existing infrastructure are necessary. However, problems occur when transmitting voice using a data protocol, due to the nature of voice characteristics.
One of the primary problems of transmitting audio information, such as voice, using a data protocol is the delays associated with frame re-transmissions using an over-the-air data protocol such as RLP. Delays of more than a few hundred milliseconds in speech can result in unacceptable voice quality. When transmitting data, such as computer files, time delays are easily tolerated due to the non real-time nature of data. As a consequence, the protocols of IS-707 can afford to use the frame re-transmission scheme as described above, which may result in transmission delays, or a latency period, of more than a few seconds. Such a latency period is unacceptable for transmitting voice information.
What is needed is a method and apparatus for minimizing the problems caused by the time delays associated with frame retransmission requests from a receiver. Furthermore, the method and apparatus should be backwards-compatible with existing infrastructure to avoid expensive upgrades to those systems.
The present invention is a method and apparatus for increasing the probability of successful data frame transmission from a transmitter to a receiver. This is achieved in general by transmitting duplicate copies of the transmitted data during periods of low-rate or inactive frame transmission.
The present invention is an apparatus located within a transmitter, the transmitter comprising a processor for transmitting data frames in accordance with any well-known data transmission protocol. In the exemplary embodiment, the Radio Link Protocol (RLP), as defined by Interim Standard IS-99, is used. The transmitter further comprises a transmit queue and a secondary queue. When information is available to be transmitted, the processor generates data frames corresponding to the information to be transmitted. The data frames are stored in the transmit queue and a copy of at least one of the data frames is stored in the secondary queue. Data frames in the transmit queue are sent at a predetermined rate. Subsequently, if no information is available for transmission, a data frame will not be generated by the processor, and a data frame copy from the secondary queue is placed into the transmit queue, thereby increasing the redundancy of transmitted data frames and thus the probability of successful transmission to the receiver.
In a second embodiment of the present invention, the transmitter further comprises an elapsed time device, which tracks the elapsed time that each data frame copy has been stored in the secondary queue. If the elapsed time for any data frame copy is greater than or equal to a predetermined time period, the processor erases the corresponding data frame copy from the secondary queue.
The present invention can also be described as a method for increasing the probability of successful data frame transmission between a transmitter and a receiver. The method comprises the steps of generating data frames from information to be transmitted and storing the data frames into a transmit queue. A copy of at least one of the data frames is generated and stored in a secondary queue. Subsequently, if a data frame is not generated by the processor, a data frame copy from the secondary queue is placed sequentially into the transmit queue, thereby increasing the redundancy of transmitted data frames and thus the probability of successful transmission to the receiver.